package com.cn.sl.server.api.system.file.config

import com.cn.sl.server.api.system.file.service.FileUploadService
import com.cn.sl.server.api.system.file.service.impl.LocalFileUploadServiceImpl
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer

/**
 * 文件上传服务配置
 *
 * @author 阮雪峰
 */
@Configuration
class FileUploadConfig(
    val config: LocalFileUploadConfig
) : WebMvcConfigurer {
    @Bean
    fun fileUploadService(): FileUploadService {
        return LocalFileUploadServiceImpl(config)
    }

    override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
        /*
         * @Description: 对文件的路径进行配置, 创建一个虚拟路径/file/ ** ，即只要在<img src="/file/images/20180522/9aa64b2b-a558-421e-929c-537ff0aecdba.jpg" />便可以直接引用图片
         *这是图片的物理路径 "file:/+本地图片的地址"
         * @Date： Create in 14:08 2017/12/20
         *
         */
        //读取配置文件中的上传路径
        registry.addResourceHandler("${config.uriPrefix}/**").addResourceLocations("file:${config.filePath}")
    }
}
